The access of data on contemporary DASD units, such as disk files, has been accomplished through the use of a set of commands which direct the device to proceed to a specific geometric location and then process selected units of data found at that location. More specifically for example, in the IBM system 360 and System 370 CPU's, a CPU issues a series of commands, identified in 360/370 architecture as Channel Command Words (CCW's), which control the operation of the associated DASD.
The transfer of data between a 360/370 CPU and the accessed locations of storage devices utilizes a physical path connection involving a channel, a DASD control device communicating with the channel on one side in an asynchronous relationship and selected DAS devices on the other side. The operating system of the CPU initiates the transfer by a START I/O instruction, causing control to be relinquished to a series of CCW's. A sequence or chain of CCW's is then sent from the CPU over the channel to the control device for selecting and accessing the storage device as well as effectuating the data movement across the interface.
One operation commonly employed in computer systems of the type described above is known as "Initial Program Load" (IPL). This is an operation carried out by a CPU which involves reloading of the Initial Program from DAS devices into the CPU, and is invoked under a number of circumstances, such as when a power failure has caused the loss of the CPU programming stored in the CPU main memory or when the system is started. The procedure may be initiated by an operator pushing the "IPL" button on the CPU console. This causes each channel connected to that CPU to issue a System Reset signal to all DASD control units connected to the channels.
At a predetermined time after issuance of System Reset (this interval is a minimum of one millisecond in the case of System/370), the CPU causes an IPL START I/O to be issued to the channel addressed by the CPU console switches, and the channel in turn generates a "READ IPL" CCW and sends a START I/O signal to all attached DASD control units. If the control unit addressed by the READ IPL command has completed its action in response to the System Reset signals from the channels, the control unit will accept and execute the READ IPL command, reading the required stored information back through the control unit and channel to the CPU to enable the CPU to initiate the process of reloading its program.
However, if the control unit has not completed the operations required in response to the Systems Reset signal by the time the READ IPL command is issued, the control unit will appear "busy" when the READ IPL command arrives and the command will be rejected, thus aborting the READ IPL procedure. This same pattern will repeat itself upon subsequent depressions of the "IPL" command for the CPU, leaving the CPU unable to begin its operations.
This problem is created by the fact that when a control unit is available to more than one channel, the different channels vie with each other for usage of the control unit and once connected to a channel, the control unit is dedicated to that channel for the duration of the connection which exists to operate a DAS device or to retrieve status information from or relative to a device. When a channel issues a System Reset, this does not cause an active channel connection; instead, this causes a switch to be set in the channel interface logic of each control unit attached to that channel. Each control unit responds to the interface which has the system reset switch turned on in the same manner as it responds to the interface which has an active channel selection. The control unit is instantaneously dedicated to that channel interface for the duration of the System Reset sequence which exists to reset all information for that channel on all devices connected to that control unit. Thus, a control unit must treat the System Reset signals from the channels serially and unless it is able to serially complete its responses to the System Reset signals from all the channels to which it can be connected prior to the issuance of the READ IPL command, it will appear "busy" to this command and the command will fail to execute.
Further information about this type of operation between a channel and control unit is contained in the publication "IBM System 360 and System 370 I/O Interface Channel to Control Unit, Original Equipment Manufacturer's Information", IBM Publication No. GA22-6974, and in "IBM System/370 Principles of Operation", IBM Publication No. GA22-7000.